
/**
 * @ Authors:
 * 
 * @Veronique De Laet
 * @Johan Willems
 * @Pierre Delaere
 * 
 * @version 2011
 * 
 */
package collections;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.TreeSet;

import persistency.DatabaseToegang;

import model.Cursus;
import model.Inschrijving;
import model.ReportComponent;
import model.container.Cursussen;
import model.container.Inschrijvingen;

public class InschrijvingenLijst  extends ReportComponent
{
	DatabaseToegang x = new DatabaseToegang();
	String databaseCommand;
	
	public void prtFactoryReport()
	{
		//onderstaande code wanneer vanuit DB gelezen
		ArrayList<String> lijst = new ArrayList<String>();
		ArrayList<String> lijst2 = new ArrayList<String>();
		databaseCommand = "SELECT cursusNaam FROM cursus";
		lijst=x.getFromDB(databaseCommand);
		for(String element: lijst)
		{
			System.out.println(element);
			
			databaseCommand = "SELECT curs.cursistNaam, i.inschrijvingsDatum ";
			databaseCommand += "FROM inschrijving as i, cursus as cur, cursist as curs ";
			databaseCommand += "WHERE i.aangebodenCursus=cur.cursusCode AND i.cursist = curs.cursistNummer AND cur.cursusNaam = '" + element + "'";
			lijst2=x.getFromDB(databaseCommand);
			for(String element2: lijst2)
			{
				String [] elementX= element2.split(";");
				System.out.println("\t" + elementX[0] + " " + elementX[1]);
			}
		}
		/** wanneer invoer via txtfile
		
		Iterator<?> cursusIterator = Cursussen.cursusLijst.values().iterator();
		Cursus deCursus;
		TreeSet<String> t1 = new TreeSet<String>();
		TreeSet<Cursus> t2 = new TreeSet<Cursus>();
		String temp;
		
		
		while (cursusIterator.hasNext())
		{
			t2.add((Cursus)cursusIterator.next());
		}
		
		Iterator<?> itA = t2.iterator();
		while (itA.hasNext())//loop over de cursussen en vraag cursusnaam
		{
			
			deCursus = (Cursus) itA.next();
			int code = deCursus.getCursusCode();
			System.out.println(deCursus.getCursusNaam());
		
			Iterator<?> inschrijvingIterator = Inschrijvingen.inschrijvingsLijst.iterator();
		
			while (inschrijvingIterator.hasNext())//loop over inschrijvingen en vraag naam cursist 
												  //voor die inschrijving waarvan de aangebodenCursusCode
												 // overeenstemt met deze van de cursus
			{
				Inschrijving deInschrijving = (Inschrijving) inschrijvingIterator.next();
				if(deInschrijving.getAangebodenCursus().getCursusCode()==code)
				{
				temp = String.format("\t%-20s%s",deInschrijving.getCursist().getNaam(),deInschrijving.getDate());
				t1.add(temp);
				}
			}
			Iterator<String> it1 =t1.iterator();
			
			while(it1.hasNext()){
		          String o1 = it1.next();
		          System.out.println(o1.toString());
		    }
		}
		*/
	}
}
